/*
 * DeformacionSenoidal.cpp
 *
 *  Created on: 21/04/2013
 *      Author: gonzalo
 */

#include "DeformacionSenoidal.h"

#include <cmath>

DeformacionSenoidal::DeformacionSenoidal(GLfloat periodo, GLfloat altura) {
	this->periodo = periodo;
	this->angulo_inicial = 0;
	this->altura = altura;
}

DeformacionSenoidal::~DeformacionSenoidal() {

}

GLfloat DeformacionSenoidal::obtener_deformacion(GLfloat x, GLfloat y) {
	return altura * sinf((x ) * 2 * M_PI / this->periodo + this->angulo_inicial);
}

void DeformacionSenoidal::set_angulo_inicial(GLfloat angulo) {
	this->angulo_inicial = angulo;
	while(this->angulo_inicial >= 2 * M_PI ){
		this->angulo_inicial -= 2 * M_PI ;
	}
	while(this->angulo_inicial < 0 ){
		this->angulo_inicial += 2 * M_PI ;
	}
}
